const ScanPartsConfig: any[] = [
  {
    personType: 'adult',
    parts: [
      {
        name: 'head'
      },
      {
        name: 'neck'
      }
    ]
  },
  {
    personType: 'child',
    parts: [
      {
        name: 'head'
      },
      {
        name: 'neck1'
      }
    ]
  }
]

const params = {
  kV: {
    value: 10,
    units: ''
  },
  mA: {
    value: 10,
    units: ''
  },
  start: {
    value: 100,
    units: ''
  },
  end: {
    value: 300,
    units: ''
  },
  fov: {
    value: 40,
    units: ''
  },
  windowWidth: {
    value: 10,
    units: ''
  },
  windowCenter: {
    value: 10,
    units: ''
  },
  angle: {
    value: 10,
    units: ''
  },

  rotateTime: {
    value: 10,
    units: 's'
  },
  focus: {
    value: 'big',
    units: ''
  },
  reconstructMatrix: {
    value: 512,
    units: ''
  },
  sliceThickness: {
    value: 0.6,
    units: 'mm'
  },
  pitch: {
    value: 1,
    units: 'mm'
  },
  part: {
    value: 'body',
    units: ''
  },
  collimator: {
    value: 10,
    units: 'mm'
  },
  exposureTimes: {
    value: 1,
    units: ''
  }
}


const ProtocolsConfig: any[] = [
  {
    personType: 'adult',
    scanType: 'fault',
    scanPart: 'head',
    protocols: [
      {
        protocolId: 1,
        protocolName: 'adult_head_fault1',
        params: params
      },
      {
        protocolId: 2,
        protocolName: 'adult_head_fault2',
        params: params
      }
    ]
  },
  {
    personType: 'adult',
    scanType: 'fault',
    scanPart: 'neck',
    protocols: [
      {
        protocolId: 3,
        protocolName: 'adult_neck_fault1',
        params: params
      },
      {
        protocolId: 4,
        protocolName: 'head_neck_fault2',
        params: params
      }
    ]
  },
  {
    personType: 'adult',
    scanType: 'helical',
    scanPart: 'head',
    protocols: [
      {
        protocolId: 5,
        protocolName: 'adult_head_helical1',
        params: params
      },
      {
        protocolId: 6,
        protocolName: 'adult_head_helical2',
        params: params
      }
    ]
  },
  {
    personType: 'adult',
    scanType: 'helical',
    scanPart: 'neck',
    protocols: [
      {
        protocolId: 7,
        protocolName: 'adult_neck_helical1',
        params: params
      },
      {
        protocolId: 8,
        protocolName: 'adult_neck_helical2',
        params: params
      }
    ]
  },

  {
    personType: 'child',
    scanType: 'fault',
    scanPart: 'head',
    protocols: [
      {
        protocolId: 9,
        protocolName: 'child_head_fault1',
        params: params
      },
      {
        protocolId: 10,
        protocolName: 'child_head_fault2',
        params: params
      }
    ]
  },
  {
    personType: 'child',
    scanType: 'fault',
    scanPart: 'neck1',
    protocols: [
      {
        protocolId: 11,
        protocolName: 'child_neck1_fault1',
        params: params
      },
      {
        protocolId: 12,
        protocolName: 'head_neck1_fault2',
        params: params
      }
    ]
  },
  {
    personType: 'child',
    scanType: 'helical',
    scanPart: 'head',
    protocols: [
      {
        protocolId: 13,
        protocolName: 'child_head_helical1',
        params: params
      },
      {
        protocolId: 14,
        protocolName: 'child_head_helical2',
        params: params
      }
    ]
  },
  {
    personType: 'child',
    scanType: 'helical',
    scanPart: 'neck1',
    protocols: [
      {
        protocolId: 15,
        protocolName: 'child_neck1_helical1',
        params: params
      },
      {
        protocolId: 16,
        protocolName: 'child_neck1_helical2',
        params: params
      }
    ]
  }
]


const MonitorProtocolConfig = {
  params: {
    start: {
      value: 10,
      units: ''
    },
    end: {
      value: 10,
      units: ''
    },
    mA: {
      value: 10,
      units: ''
    },
    kV: {
      value: 10,
      units: ''
    },
    monitorDelay: {
      value: 6,
      units: 's'
    },
    monitorInterval: {
      value: 1.5,
      units: 's'
    },
    enhanceThreshold: {
      value: 150,
      units: 'HU'
    },
    exposureTimes: {
      value: 150,
      units: ''
    }
  }
}

const PreMonitorProtocolConfig = MonitorProtocolConfig


export {
  ScanPartsConfig,
  ProtocolsConfig,
  MonitorProtocolConfig,
  PreMonitorProtocolConfig
}
